from datetime import datetime

from rest_framework.response import Response
from rest_framework.views import APIView
from rest_framework_jwt.views import JSONWebTokenAPIView

from apps.meiduo_admin.serializers import MyJSONWebTokenSerializer


# 1. 登录获取token的类视图
from apps.users.models import User


class MyObtainJSONWebToken(JSONWebTokenAPIView):
    serializer_class = MyJSONWebTokenSerializer


# 2. 查询当天日活用户的数量
class UserDailyActiveCountView(APIView):
    def get(self, request):
        # 1. 得到今天的日期 （潜台词 0点0分0秒）
        date = datetime.today().date()
        # 2. 查出登录的时间大于等于今天日期的用户数
        count = User.objects.filter(last_login__gte=date).count()
        # 3. 返回结果
        return Response({
            'count': count,
            'date': date
        })


